emulation_generalfandomcom-20200213-history
Emulation Accuracy
Accuracy is how accurate the emulator is to the original hardware. Accuracy is most often achieved by tighter syncing. More accuracy means less graphics and audio glitches, at the cost of additional CPU power required to run the game at fullspeed. There are hopes that less CPU power will be needed for more accuracy with the use of tighter programming. Types 'Low accuracy' Low accuracy emulators will have a large amount of visual and audio glitches. They will typically use various speedhacks to skip over problems, as a result many games only run due to a variety of patches while others don't work at all. This can become very problematic when ROM hacks use these speedhacks to run by abusing the errors to create otherwise impossible behaviour. This means that the romhack can only be used in that one specific emulator. Such an issue has occured with zsnes. 'Medium accuracy' Medium accuracy emulators will have fewer glitches, but will still have many problems. Most emulators fall into this category. 'High accuracy' High accuracy emulators try to replicate the original system as closely as possible, and for that reason take more CPU power to do so. They will have fewer audio and visual glitches. High accuracy emulators may or may not be cycle accurate. '100% Game compatibility' Some high accuracy emulators can achieve 100% compatibility with commercially released games. 'Cycle accurate' Cycle accurate emulation is basically trying to perfectly emulate timings right down to per-cycle accesses. So each individual component is emulated at exactly the right time, and in perfect sync etc, which takes a performance hit. How much performance is taken depends on the way cycle accuracy is implemented and the skill of the coder. The accuracy of these emulators are close to perfection, but at a steep CPU cost. 'Circuit accurate' Circuit accurate emulators work by simulating each logic chip on the board individually. Such low level emulation requires a tremendous amount of power to run. Controversy There are basically two camps when it comes to the issue of accuracy. One side argues that as long as an emulator plays the majority of games at full speed on most computers and devices without too many obvious glitches, it does not matter how accurately it actually replicates the original hardware and its many quirks and functions. The faithfulness of the emulator to the console it is emulating comes second to its overall ability to play games. The other side argues that an emulator should ultimately strive to simulate the hardware as much as possible, as that is the only way to achieve as much compatibility as possible, as well as the only way to preserve the hardware. Thus, speed and scalability to most devices takes a backseat to accuracy to the real console, both for purposes of compatibility and preservation. Even within the second camp, however, there is some disagreement as to just how much accuracy is actually needed. On most platforms, after obtaining a certain amount of accuracy, going further still requires an exponential growth in system requirements, the results of which may not be noticeable to the vast majority of users. Cycle accuracy in particular has been hotly debated in regards to its usefulness, due to how such an extreme level of accuracy requires a lot of extra processing power for relatively few gains in compatibility. Proponents of very high accuracy point to games that require such a high degree of accuracy in order to be fully playable, as well as the importance of preserving the historical experience and the intent of the designers. Further reading *Accuracy takes power: one man’s 3GHz quest to build a perfect SNES emulator by Ars Technica *NES Accuracy Tests *Game Boy Accuracy Tests Category:FAQs